import DTO.Student;
import Myutils.StringUtil;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;

import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;

public class test1 {
    public static void main(String[] args) {
        Student s = new Student();
        s.setName(null);
        System.out.println(s);
        List<Long> longs  = new ArrayList<>();
        longs.add(12L);
        longs.add(16L);
        System.out.println(longs);
        String a = "19.3";
        Integer d = Double.valueOf(a).intValue();
        System.out.println(d);
        String repString = "Haseee shengzhou";
        String newRepString = StringUtil.replace(repString,'a','A');
        System.out.println("repString: " + repString);
        System.out.println("new repString :" + newRepString);
        Optional<String> optional = Optional.ofNullable("666");
        optional.ifPresent(System.out::println);
       List<String> stringList = Arrays.asList("342","12","77","77","88");
       //静态数组 -最好用第一种
       int[] ages = new int[]{12,16,18,19,20};
        System.out.println(ages.length);
       int ages1[] = new int[]{12,16,18,19,20};
       //动态数组
        char[] chars = new char[10]; //默认值是0,但是打印处理不是0
        /**
         * - `char[] chars = new char[10];` 这行代码创建了一个长度为10的字符数组。
         * - 在Java中，`char`类型的默认初始值是`\u0000`（即Unicode中的零字符），而不是数字0。
         * - 当你打印`chars[0]`时，实际上是在打印这个默认的零字符`\u0000`，它是一个不可见字符，所以你看不到任何输出。
         * - 对于`System.out.println((int)chars[1]);`，它将`char`类型强制转换为整数类型，由于`chars[1]`也是默认的零字符`\u0000`，其对应的整数值是0。
         *
         * 因此，`System.out.println(chars[0]);`打印出来看不见是因为它打印的是一个不可见的零字符。如果你希望看到具体的字符或值，可以考虑初始化数组或者打印其他可见字符。
         */
        System.out.println(chars[0]);
        System.out.println((int)chars[1]);
        String[] strings = new String[10]; //String的默认值是null
        boolean [] booleans = new boolean[10]; //boolean的默认值是false
        byte [] bytes = new byte[10]; //byte,short,int ,long的默认值是0
        float [] floats = new float[10]; //float,double的默认值是0.0
        System.out.println(strings[0]);
        System.out.println(booleans[0]);
        System.out.println(bytes[0]);
        System.out.println(floats[0]);
    }
}
